package com.senven.books.modules.system.user.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.senven.books.mybatis.baseEntity.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.util.Date;
import java.util.List;

/**
 * @author : longshengyi
 * @description :
 * @createDate : 2024/7/20 22:24
 */
@Getter
@Setter
@TableName("sys_user")
public class SysUser extends BaseEntity {
    /**
     * 用户信息状态 - 正常使用（解锁）
     */
    public static final Integer UNLOCK = 0;
    /**
     * 用户信息状态 - 锁定
     */
    public static final Integer LOCK = 1;

    /**
     * 帐号
     */
    private String account;

    /**
     * 姓名
     */
    private String name;

    /**
     * 所属单位
     */
    private Long orgId;

    /**
     * 密码
     */
    private String password;

    /**
     * 密码加密
     */
    private String salt;

    /**
     * 证书
     */
    private String certificate;

    /**
     * 存放RC4加密密码
     */
    private String rePassword;

    /**
     * 排序
     */
    private Integer sort=999;

    /**
     * 全局排序
     */
    private String pri;

    /**
     * 性别:男/女
     */
    private String gender;

    /**
     * 职务
     */
    private String duty;

    /**
     * 身份证号码
     */
    private String idNo;

    /**
     * 名称简拼
     */
    private String headPy;

    /**
     * 名称全拼
     */
    private String pinyin;

    /**
     * 登录方式
     */
    private String loginMode;

    /**
     * 信息是否隐藏
     */
    private Integer hide;

    /**
     * 是否为初始化密码：1：是；0：否
     */
    private Integer init=1;

    /**
     * 密码错误数
     */
    private Integer errorNum;

    /**
     * 是否显示手机号
     */
    private Integer showMobile;

    /**
     * 用户手机号
     */
    private String mobile;

    /**
     * 用户手机号2
     */
    private String mobile2;

    /**
     * 办公电话
     */
    private String phoneNo;

    /**
     * 用户短号
     */
    private String shortNo;

    /**
     * 传真
     */
    private String faxNo;

    /**
     * 短信接收号
     */
    private String smsNo;

    /**
     * 邮箱地址
     */
    private String email;

    /**
     * 微信号
     */
    private String wechat;

    /**
     * qq号码
     */
    private String qq;

    /**
     * 生日(月)
     */
    private Integer birthdayMonth;

    /**
     * 生日(日)
     */
    private Integer birthdayDay;

    /**
     * 门牌号
     */
    private String houseNo;

    /**
     * 住址
     */
    private String homeAddress;

    /**
     * 头像链接
     */
    private String iconUrl;

    /**
     * 备注
     */
    private String remark;

    /**
     * 帐号使用截止时间
     */
    private Date limitTime;

    /**
     * 弱密码修改截止时间
     */
    private Date pwdLimitTime;

    /**
     * 整合映射登录账号
     */
    private String mappingAccount;

    /**
     * 整合映射登录账号ID
     */
    private String mappingId;



    /**
     * 用户密级
     */
    private Integer grade=0;

    /**
     * 用户类型
     */
    private Integer type;

    /**
     * 状态[0:未删除,1:删除]
     */
    @ApiModelProperty(value = "是否已删除", example = "0")
    private Integer deleted=0;

    /**
     * 用户使用的主题
     */
    private String theme;

    /**
     * 关联的其他部门ID
     */
    @TableField(exist = false)
    private List<Long> orgIds;

    /**
     * 关联的功能组ID
     */
    @TableField(exist = false)
    private List<Long> groupIds;

    /**
     * 部门名称
     */
    @TableField(exist = false)
    private String orgName;

}
